<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0014)about:internet -->
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel=stylesheet type="text/css" href="styles.css">
<title>About DocFlex/XML</title>
</head>

<body>

<h1>
  About DocFlex/XML
</h1>

<!-- TABLE OF CONTENTS -->
<ol>
  <li><a href="#overview">Overview</a>
  <li><a href="#key_features">Key Features</a>
  <li><a href="#technical_requirements">Technical Requirements</a>
  <li><a href="#freeware_edition">Freeware Edition</a>
  <li><a href="#roadmap">DocFlex/XML Roadmap</a>
</ol>
<!-- END TABLE OF CONTENTS -->

<h2>
  <a name="overview"></a>
  1.&nbsp; Overview
</h2>

<p>DocFlex/XML is the most advanced application of
<a href="http://www.filigris.com/products/docflex/about.php" target="_blank">DocFlex Technology</a>
(developed on top of the experience accumulated from the previous two:
<a href="http://www.filigris.com/products/docflex_javadoc/about.php" target="_blank">DocFlex/Javadoc</a> and
<a href="http://www.filigris.com/products/docflex_together/about.php" target="_blank">DocFlex/Together</a>).

<p>This tool allows you to visually design the automatic generation of professional quality reports
and documentation by the data obtained from your XML files. The output documents can be
generated in RTF and HTML  formats. The HTML can be both single-file and multi-framed documentation.
The TXT (plain text) output is supported as well, which enables you to use this tool also for various
XML file transformations.

<p>Such a generation is programmed using templates, which functionally behave very much the same
as full-blown scripting-language programs (such as
<a href="http://www.w3.org/TR/xslt" target="_blank">XSLT</a> scripts). However, the advantage
of the template approach offered by
<a href="http://www.filigris.com/products/docflex/about.php" target="_blank">DocFlex Technology</a>
is that it requires very few coding of anything manually and allows to design your templates
in the WYSIWYG form in terms of things you expect to see in the output documents (rather than on the
level of abstract language operators).

<p>The templates are visually designed basing on the information obtained from
<a href="http://www.w3schools.com/dtd/" target="_blank">DTD</a> or
<a href="http://www.w3schools.com/schema/" target="_blank">XSD</a> (W3C XML Schema)
files mostly by using mouse and specifying properties in Template Designer dialogs. The data type
information (i.e. XML elements and attributes) appears in various treeviews which are used
to program the data processing in the templates.

<p>The formatting of the generated documents is programmed by specifying formatting properties of
<a href="http://www.filigris.com/products/docflex/features/templates_designer.php#template_components" target="_blank">template components</a>
(some of which can be changed simply by dragging mouse in the designer pane).
Many of such properties are graphically visualized by the Template Designer.
<p>
The output generator can be both launched
<a href="doc.html#generator">from the command line</a> and invoked directly from the Template Designer's
main menu which allows you to immediately see the result produced by your templates
yet during designing them (no compilation or running any stand-alone interpreter are required).

<h2>
  <a name="key_features"></a>
  2.&nbsp; Key Features
</h2>

<ul>
<li>
  The high quality graphic <a href="http://www.filigris.com/products/docflex_xml/doc.php#designer" target="_blank">Template Designer</a>
</li>
<li>
  The templates are designed basing on the data type information
  obtained from <a href="http://www.w3schools.com/dtd/" target="_blank">DTD</a> or
  <a href="http://www.w3schools.com/schema/" target="_blank">XSD</a> (W3C XML Schema) files.
</li>
<li><b>Data processing</b>
  <ul>
    <li>
      Generating reports/documentation by the data obtained from XML files.
    </li>
    <li>
      The ability to open and process multiple XML file and process all of them at once
      as a single virtual XML document.
    </li>
    <li>
      A single report may contain data from multiple XML files with different structure.
    </li>
    <li>
      Full support for XML namespaces.
    </li>
    <li>
      Sophisticated capabilities for data querying and sorting based on an extension of XPath.</li>
    </li>
    <li>
      The ability to traverse XML documents with a network structure (using <code>IDREF/IDREFS</code>
      attributes)
    </li>
  </ul>
</li>
<li><b>Inserting images</b>
  <ul>
    <li>statically specified in templates</li>
    <li>dynamically, obtained directly from XML documents (base64- or hex-encoded) or
        from arbitrary files, URLs or Java resources</li>
    <li>supported image formats: GIF, PNG, JPG, WMF, BMP</li>
  </ul>
</li>
<li><b>Creating hyperlinks</b>
  <ul>
    <li>a common network of hyperlinks for the whole generated documentation</li>
    <li>possibility to download several frame windows from a single hyperlink at once</li>
  </ul>
</li>
<li><b>Output formats</b>
  <ul>
    <li>HTML (both plain and multi-framed)</li>
    <li>RTF</li>
    <li>TXT (plain text)</li>
    <li>XSL-FO (planned for version 2)</li>
  </ul>
</li>
<li><b>Universal support for various formatting techniques</b>
  <ul>
     <li>text formatting: fonts, colors, borders</li>
     <li>paragraph formatting: margins, pagination control, borders, colors</li>
     <li>border formatting: styles (solid, double, dashed, dotted), thickness, colors</li>
     <li>tables: arbitrary cell layouts, borders, nested tables</li>
     <li>lists: bulleted, numbered, delimited</li>
     <li>document fields (RTF): page number, number of pages, TOC, etc.</li>
     <li>page formatting: size, orientation, margins, headers/footers</li>
     <li>formatting styles</li>
     <li>rendering of embedded HTML, which means interpreting in non-HTML output formats (such as RTF)
         the HTML tags embedded in text data (e.g. documentation comments). Almost all HTML tags practically
         usable in doc-comments are supported.</li>
  </ul>
</li>
<li><b>Project development</b>
  <ul>
    <li>
      The possibility to call templates from one another.
    </li>
    <li>
      The elaborated support of template parameters.
    </li>
    <li>
      Both features enable you to reuse the same templates for different tasks as well as
      organize template libraries, which may help you to shorten the project
      development time and simplify its further updates and maintenance.
    </li>
    <li>
      The open Java API which allows to launch the DocFlex generator directly from your
      Java code, pass template parameters as well as to extend your templates with
      custom written Java classes. <i>(coming soon)</i>
    </li>
    <li>
      The <a href="#freeware_edition">freeware</a> template interpreter and output generator
      (together with the run-time Java library) available for free use and redistribution
      both separately and as part of your applications.
    </li>
  </ul>
</li>
</ul>

<p>See also <a href="http://www.filigris.com/products/docflex/features/index.php" target="_blank">DocFlex Technology | Key Features</a>.

<h2>
  <a name="technical_requirements"></a>
  3.&nbsp; Technical Requirements
</h2>

<p>DocFlex/XML requires
Java<sup><font size=-2>TM</font></sup> 2 version 6.x, 5.x or 1.4.x installed on your system.

<p>DocFlex/XML is a pure Java application.
The <a href="http://www.filigris.com/products/docflex_xml/doc.php#designer" target="_blank">Template Designer</a>
GUI is implemented entirely using Swing. Therefore, everything is supposed to work on any operating
system where Java2 Runtime Environment can be installed.

<p>Specifically, the DocFlex/XML software (both editions) available for
<a href="http://www.filigris.com/downloads/" target="_blank">downloads</a>
includes <b>MS Windows</b> BAT files and <b>Linux</b> shell script files that allow to run
DocFlex/XML on those operating systems immediately after installing it.
For more details, see product README files on downloads page.

<p>To parse XML files, DTDs and XML Schemas, DocFlex/XML uses
<a href="http://xerces.apache.org/xerces2-j/" target="_blank">Apache Xerces2 Java Parser</a> version 2.9.0,
whose binaries are included in the DocFlex/XML 
<a href="http://www.filigris.com/downloads/" target="_blank">downloads</a>.
In the case of any questions concerning this library, please refer to the Apache Xerces home page:
<a href="http://xerces.apache.org" target="_blank">http://xerces.apache.org</a>.

<p>
<table cellspacing="0" cellpadding="0">
  <tr valign="top">
    <td><b>Note:</b>&nbsp;&nbsp;</td>
    <td>Certain heavy template applications (e.g. <a href="xsddoc/about.html">XSDDoc</a>,
        the XML schema documentation generator) may require considerable computational resources.
        To run them, you may need a powerful enough computer (e.g. with Intel Pentium 4 or
        AMD Athlon processor) and at least 512 MB RAM memory.
    </td>
  </tr>
</table>

<h2>
  <a name="freeware_edition"></a>
  4.&nbsp; Freeware Edition
</h2>

<p>The freeware edition called <b>&ldquo;DocFlex/XML (Kit)&rdquo;</b>
includes only the template interpreter
(output <a href="doc.html#generator">generator</a>) without the Template Designer.
It is intended for the following purposes:
<ul>
  <li>
    As a freeware documentation generator for some standard XML applications
    (using included templates).
  </li>
  <li>
    As a <a href="doc.html#generator">command line</a> interpreter
    for your custom templates (however, only those created with the licensed full
    version).
  </li>
  <li>
    As a Java library, which will allow you to call processing of your templates directly
    from your Java code (<i>this possibility will be supported soon</i>).
  </li>
</ul>

<p>Currently, the freeware edition is supplied with the following sets of templates:
<ul>
  <li class="mrg8">
    <a href="xsddoc/about.html"><b>XSDDoc</b></a> (<b>&ldquo;XML Schema Documentation Generator&rdquo;</b>)
    set of templates implements a professional quality documentation generator for any W3C XML Schema
    able to produce both multi-framed Javadoc-like HTML and printable RTF documentation.
  </li>
  <li class="mrg8">
    <a href="xmldoc.html"><b>XMLDoc</b></a> (<b>&ldquo;XML File Documentor&rdquo;</b>)
    set of templates will allow you to compile any number
    of generic XML files into a nice looking web-ready HTML or printable
    RTF documentation with the optional inclusion of a namespace binding report.
  </li>
</ul>

<p>Later, we are going to enrich the freeware edition with
some other "heavyweight" sets of templates dedicated to various big XML applications
(see <a href="#roadmap">DocFlex/XML Roadmap</a>).

<h2>
  <a name="roadmap"></a>
  5.&nbsp; DocFlex/XML Roadmap
</h2>

<p>DocFlex/XML is a strategic product of Filigris Works. With this new tool, we
are hoping eventually to reach a much wider audience of software developers
and allow people to start truly using
<a href="http://www.filigris.com/products/docflex/about.php" target="_blank">DocFlex Technology</a>.

<p>Basing on DocFlex/XML, we are planning to develop series of "heavyweight" templates
dedicated to major XML applications. Among the first are coming:
<ol>
  <li>
    <b>W3C XML Schema</b> documentation templates, which allows to generate a high quality
    documentation for any W3C XML Schemas.
    See <a href="xsddoc/about.html">XSDDoc</a>, which is already released!
  </li>
  <li>
    <b>WSDL</b> documentation templates.
  </li>
  <li>
    <b>XSLT script</b> documentation templates.
  </li>
  <li>
    <b>XMI</b> documentation templates, which, together with DocFlex/XML itself, effectively
    will provide a template-driven doc-generator for virtually any UML modeling tool.
    See also <a href="http://www.filigris.com/products/docflex_xml/xsddoc/examples/index.php#html.eclipse-uml2" target="_blank">XSDDoc | Examples | Eclipse UML2 Schemas</a>
    for that matter.
  </li>
</ol>

<p>Once new application templates for a particular field arrive, those templates will
be instantly included in the standard template library provided with DocFlex/XML.

<p>By <a href="http://www.filigris.com/buy/shop.php" target="_blank">purchasing a license</a> for DocFlex/XML, besides the ability to design
your own templates, you will be able to customize all those library templates for your own needs.
In effect, once having a license, you will be constantly delivered with
an ever-growing number of template-driven documentation generators for various big XML applications!

<p>Moreover, very soon, we are going to publish the DocFlex Open Java API.
This API will allow you to call processing of DocFlex/XML template directly from Java applications
as well as to pass the data directly from your Java code to templates
(i.e. to the generator processing them).
This will open a possibility, besides processing your XML files, to use DocFlex/XML simply
as a Java library to generate the outstanding quality output documents in RTF or HTML formats.
<p>
<hr>
<span class="impr">Copyright&copy; 2003-2007 Filigris Works, Leonid Rudy Softwareprodukte. All rights reserved.<br>
To contact us, please visit
<a href="http://www.filigris.com">www.filigris.com</a> or e-mail to: <a href="mailto:contact@filigris.com">contact@filigris.com</a>
</span>
</p>

</body>

</html>
